Statics.java
package com.acme.javaInterop;

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

import static church.lang.operators.Streams.output;
import static java.lang.Math.atan2;

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

    public static void main(String[] args) {
        $S0.$encode($S1.$encode($S0.$encode(output, "atan2(1, 2) = "), atan2(1.0, 2.0)), "\n");
        $S0.$encode($S1.$encode($S0.$encode(output, "atan2(1, 2) = "), atan2(1.0, 2.0)), "\n");
        $S0.$encode($S1.$encode($S0.$encode(output, "atan2(1, 2) = "), atan2(1.0, 2.0)), "\n");
    }

}