gitextract_u_5mpmcl/ ├── .coveralls.yml ├── .gitignore ├── .rspec ├── .travis.yml ├── .yardopts ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── Gemfile ├── LICENSE ├── README.md ├── Rakefile ├── appveyor.yml ├── doc/ │ ├── memo.md │ ├── memoize.rb │ ├── pattern_matching.md │ ├── protocol.md │ └── record.md ├── functional_ruby.gemspec ├── lib/ │ ├── functional/ │ │ ├── abstract_struct.rb │ │ ├── delay.rb │ │ ├── either.rb │ │ ├── final_struct.rb │ │ ├── final_var.rb │ │ ├── memo.rb │ │ ├── method_signature.rb │ │ ├── option.rb │ │ ├── pattern_matching.rb │ │ ├── protocol.rb │ │ ├── protocol_info.rb │ │ ├── record.rb │ │ ├── synchronization.rb │ │ ├── tuple.rb │ │ ├── type_check.rb │ │ ├── union.rb │ │ ├── value_struct.rb │ │ └── version.rb │ └── functional.rb ├── spec/ │ ├── .gitignore │ ├── functional/ │ │ ├── abstract_struct_shared.rb │ │ ├── complex_pattern_matching_spec.rb │ │ ├── delay_spec.rb │ │ ├── either_spec.rb │ │ ├── final_struct_spec.rb │ │ ├── final_var_spec.rb │ │ ├── memo_spec.rb │ │ ├── option_spec.rb │ │ ├── pattern_matching_spec.rb │ │ ├── protocol_info_spec.rb │ │ ├── protocol_spec.rb │ │ ├── record_spec.rb │ │ ├── tuple_spec.rb │ │ ├── type_check_spec.rb │ │ ├── union_spec.rb │ │ └── value_struct_spec.rb │ ├── spec_helper.rb │ └── support/ │ └── .gitignore └── tasks/ ├── .gitignore ├── metrics.rake └── update_doc.rake