match+if implementation cleanup done. passing 'input' values into compile methods. handles fact that a match expression is really 2 nodes.  match val ->each arm takes value -> return result.  maybe this structure wil allow eliminating temporaries elsewhere
more pattern matching cases implemented