repr and introspection