updated the linear type system based on Chris' design with linear, linear_in, linear_out
Merge