Interfaces and compilation