ottypes composable register, list, map, set, tree ottypes TODO use non-primitive values for sets pass custom comparator for sorting / equality? only for tests? string type (use ropes)?