implementación de inferencia de tipos

Veo algunas discusiones interesantes aquí sobre la escritura estática frente a la dinámica. Generalmente prefiero la escritura estática, debido a la verificación de tipo de compilación, código mejor documentado, etc. Sin embargo, estoy de acuerdo en que desordenan el código si se hace de la manera en que Java lo hace, por ejemplo.

Así que estoy a punto de comenzar a construir un lenguaje de estilo funcional propio, y la inferencia de tipos es una de las cosas que quiero implementar. Entiendo que es un tema importante, y no estoy tratando de crear algo que no se haya hecho antes, solo inferencias básicas ...

¿Alguna sugerencia sobre qué leer que me ayudará con esto? Preferiblemente algo más pragmático / práctico en lugar de textos de teoría de categorías / teoría de tipos más teóricos. Si hay un texto de discusión de implementación, con estructuras de datos / algoritmos, eso sería maravilloso.