patterns and inference