14. A device, comprising: at least one processor and a memory; the at least one processor configured to: perform static type checking at compilation time on program source code based on an extended static interface type, the extended static interface type comprising an initial static type defined by an initial declaration provided in a first source code file merged with at least one extension declaration provided in at least one additional source code file for the initial static type, wherein the at least one extension declaration extends capabilities of a component of the program source code at runtime.
18. The device of claim 14 , wherein the at least one processor is further configured to: receive a plurality of program source code files, wherein a first file of the plurality of source code files defines a first capability of a static interface and wherein a second file of the plurality of source code files defines a second capability of the static interface.