restruct pattern folding
compile float pattern
typing empty list
compile tuple pattern matching
compile alias pattern