cmd_proofsearch :: String -> IP.IdrisParser (Either String Command)
cmd_proofsearch name = do
    upd <- P.option False (True <$ IP.lchar '!')
    l <- fromInteger <$> IP.natural; n <- IP.name
    hints <- P.many IP.fnName
    return (Right (DoProofSearch upd True l n hints))
cmd_proofsearch :: String -> IP.IdrisParser (Either String Command)
cmd_proofsearch name = do
    upd <- P.option False (True <$ IP.lchar '!')
    l <- fromInteger <$> IP.natural; n <- IP.name
    hints <- P.many IP.fnName
    return (Right (DoProofSearch upd True l n hints))
cmd_proofsearch name = do
    upd <- P.option False (True <$ IP.lchar '!')
    l <- fromInteger <$> IP.natural; n <- IP.name
    hints <- P.many IP.fnName
    return (Right (DoProofSearch upd True l n hints))