Проблема в том, что в некоторых языках типа джавы ты должна при создании яблок указать, что их можно использовать для шарлотки.
В других языках по другому. В голанге ты должна явно в коде записать что значит "для шарлотки", но можно не указывать это в самих яблоках, он поймет, если они подходят.
В питоне в целом пофиг. Ты можешь хоть в бабушкином блокноте иметь описание интерфейса, питон по факту разберётся: если режешь, значит надо чтобы можно было резать и т.п.