Corrected interaction between .strict() and .check()

The handling of `.strict()` has an error where the `aliases` variable is overwritten, causing the arguments passed to any registered `.check()` functions to be different than previous versions. This change corrects the problem by extracting the strict handling code into a separate function.