compiler update
initial work on function types