Less magic, more explicit types