#191 be stricter about key arguments to help catch user errors