ChainedCalls.java
package com.acme.javaInterop;

import javax.swing.JButton;

import church.lang.ByteStream;
import church.lang.operators.Streams.$$encode;
import church.primitives.Objects;

import static church.lang.operators.Streams.output;

@SuppressWarnings("unchecked")
public class ChainedCalls {
    private static final $$encode<ByteStream, String>  $S0 = Objects::$encode;
    private static final $$encode<ByteStream, JButton> $S1 = Objects::$encode;

    public static void main(String[] args) {
        String s1 = new JButton().toString();
        $S0.$encode($S0.$encode($S0.$encode(output, "JButton: "), s1), "\n");
        JButton b1 = new JButton();
        $S0.$encode($S1.$encode($S0.$encode(output, "JButton: "), b1), "\n");
    }

}