funDef :: [String] -> AParser st FunDef
funDef ks = do
  q <- asKey functS
  o <- parseId ks
  h <- opHead ks
  e <- equalT
  a <- annos
  t <- eqTerm ks
  return $ FunDef o (kindHead Partial h)
    (Annoted t nullRange a []) $ toRange q [] e
funDef :: [String] -> AParser st FunDef
funDef ks = do
  q <- asKey functS
  o <- parseId ks
  h <- opHead ks
  e <- equalT
  a <- annos
  t <- eqTerm ks
  return $ FunDef o (kindHead Partial h)
    (Annoted t nullRange a []) $ toRange q [] e
funDef ks = do
  q <- asKey functS
  o <- parseId ks
  h <- opHead ks
  e <- equalT
  a <- annos
  t <- eqTerm ks
  return $ FunDef o (kindHead Partial h)
    (Annoted t nullRange a []) $ toRange q [] e