type srfi-1. workaround partially applied datatype problem. known bug: recursion -- Y combinator partially solves the problem but don't work for generic functions