Manual merge of mrocklin's catchall for unary ops