Support different types