Merge pull request #3 from nokamoto/func_visit

val and function literal visit
adds compound type and build spec
impl compound
adds compound spec
impl id visit
fixes typename
updates spec
Merge pull request #4 from nokamoto/compound

Compound