shopt -s lastpipe
echo -e 'A\nB' | while read letter; do
    echo -e '1\n2' | while read digit; do
        echo $letter$digit
    done
done

myPipefunc()
{
    cat | tee $TMPDIR/outfile
}
echo HI | myPipefunc

echo -e 'A\nB' | while read letter; do
    echo -e '1\n2' | while read digit; do
        echo $letter$digit | myPipefunc
    done
done

rm -f $TMPDIR/outfile

unset -f myPipefunc
myPipefunc()
{
    cat | read var
    return 42
}
echo HI | myPipefunc

echo $var -- $? -- ${PIPESTATUS[@]}
