Functional programming .cursorrules strategies