implemented pattern matching over keyword parameters with dynamic defaults