extend struct type
first class types
add CASE syntax