membership function types impl