:- module bug.

:- interface.

:- import_module io.

:- type t
    --->    a(int)
    ;       b(int)
    ;       c(int)
    ;       d(int)
    ;       fc(float).

:- pred main(io::di, io::uo) is det.

:- implementation.

main(!IO) :-
    X = fc(123.0),
    X = fc(Y),
    Z = mkfc(123.0),
    Z = fc(U),
    io.write(Y, !IO),
    io.nl(!IO),
    io.write(U, !IO),
    io.nl(!IO).

:- func mkfc(float::in) = (t::out(bound(fc(ground)))) is det.

mkfc(F) = G :-
    G = fc(F).
