minor renaming
fn type is no longer a special case in assignment
fix some inference issues with fn literals