The standard library Catlist api defines access to lists supporting constant-time concatenation.
The Catlist api is implemented by the catlist package.
The Catlist api source code is in src/lib/std/src/catlist.api. The above information is manually maintained and may contain errors.
api { Catlist X; empty : Catlist(X ); null : Catlist(X ) -> Bool; length : Catlist(X ) -> Int; cons : (X , Catlist(X )) -> Catlist(X ); single : X -> Catlist(X ); append : (Catlist(X ) , Catlist(X )) -> Catlist(X ); head : Catlist(X ) -> X; tail : Catlist(X ) -> Catlist(X ); from_list : List(X ) -> Catlist(X ); to_list : Catlist(X ) -> List(X ); map : (X -> Y) -> Catlist(X ) -> Catlist(Y ); apply : (X -> Void) -> Catlist(X ) -> Void;};