Defining Type-Safe, Implementation-Agnostic Services in TypeScript - Effect Community