Functional Programming .cursorrules strategies