Basic implementation, no checks, no wildcards