As a developer or as a software engineer, not reinventing the wheel is fundamental. This is usually accomplished by code reuse by importing libraries. In this short article, I’d like to make the case for generalising the concept of a Foreign Function Interface (FFI). 1. Code re-use within a given language Imagine you are working on Java project. You are likely to use a dependencies manager such as maven or gradle.