_PrimOp :: Prism' Term (String, [Term])
_PrimOp = prism (uncurry mkPrimOp) $ \case
  RawApp (Var (Name x)) ts -> Right (x,aTerm <$> ts)
  t -> Left t
_PrimOp :: Prism' Term (String, [Term])
_PrimOp = prism (uncurry mkPrimOp) $ \case
  RawApp (Var (Name x)) ts -> Right (x,aTerm <$> ts)
  t -> Left t
_PrimOp = prism (uncurry mkPrimOp) $ \case
  RawApp (Var (Name x)) ts -> Right (x,aTerm <$> ts)
  t -> Left t