def keyword(arg: MalExpression) -> MalExpression: assert isinstance(arg, MalString) if arg.is_keyword(): return arg else: return MalString(arg.unreadable_str(), keyword=True)
def keyword_q(arg: MalExpression) -> MalExpression: return MalBoolean(isinstance(arg, MalString) and arg.is_keyword())